/*
wellbye：这个文件是自动生成的，不要手工修改！ 
*/
using System;
using ILRuntime.CLR.Method;
using ILRuntime.Other;
using ILRuntime.Runtime.Enviorment;
using ILRuntime.Runtime.Intepreter;

[ILRAdaptor]
public class ILRAdaptor_UITabBarController : CrossBindingAdaptor
{
    public override Type BaseCLRType { get { return typeof(UIKit.UITabBarController); } }
    public override Type AdaptorType { get { return typeof(Adaptor); } }

    public override object CreateCLRInstance(ILRuntime.Runtime.Enviorment.AppDomain appDomain, ILTypeInstance instance)
    {
        return new Adaptor(appDomain, instance); //创建一个新的实例
    }

    //实际的适配器类需要继承你想继承的那个类，并且实现CrossBindingAdaptorType接口
    public class Adaptor : UIKit.UITabBarController, CrossBindingAdaptorType
    {
        ILTypeInstance instance;
        ILRuntime.Runtime.Enviorment.AppDomain appDomain;

        public Adaptor() { }

        public Adaptor(ILRuntime.Runtime.Enviorment.AppDomain appDomain, ILTypeInstance instance)
        {
            this.appDomain = appDomain;
            this.instance = instance;
        }

        public ILTypeInstance ILInstance { get { return instance; } }

        
        
        IMethod methodViewDidAppear0;
        bool isCallingViewDidAppear0= false;
        
            public override void ViewDidAppear(System.Boolean p0) 
            { 
                if (methodViewDidAppear0 == null && instance!=null )
                {
                    methodViewDidAppear0 = instance.Type.GetMethod("ViewDidAppear", 1);
                }
                if (methodViewDidAppear0 != null && !isCallingViewDidAppear0)
                {
                    isCallingViewDidAppear0 = true;

                    try{
                        
                        //有参数，打包成数组
                        object[] param=new object[]{
                                p0,
                        };
                        object ret = appDomain.Invoke(methodViewDidAppear0, instance, param );
                        
                        
                        isCallingViewDidAppear0 = false;

                        
                    }
                    catch(Exception e){
                        mb.App.logger.Log("**** Catch Exception In ViewDidAppear *****");
                        mb.App.logger.Log(e.ToString());
                        mb.App.logger.Log("**********************");
                        throw e;
                    }
                }
                else
                {
                    
                    
                        
                            base.ViewDidAppear(p0);
                        
                    

                }
            }
        
        
        
        IMethod methodViewDidDisappear1;
        bool isCallingViewDidDisappear1= false;
        
            public override void ViewDidDisappear(System.Boolean p0) 
            { 
                if (methodViewDidDisappear1 == null && instance!=null )
                {
                    methodViewDidDisappear1 = instance.Type.GetMethod("ViewDidDisappear", 1);
                }
                if (methodViewDidDisappear1 != null && !isCallingViewDidDisappear1)
                {
                    isCallingViewDidDisappear1 = true;

                    try{
                        
                        //有参数，打包成数组
                        object[] param=new object[]{
                                p0,
                        };
                        object ret = appDomain.Invoke(methodViewDidDisappear1, instance, param );
                        
                        
                        isCallingViewDidDisappear1 = false;

                        
                    }
                    catch(Exception e){
                        mb.App.logger.Log("**** Catch Exception In ViewDidDisappear *****");
                        mb.App.logger.Log(e.ToString());
                        mb.App.logger.Log("**********************");
                        throw e;
                    }
                }
                else
                {
                    
                    
                        
                            base.ViewDidDisappear(p0);
                        
                    

                }
            }
        
        
        
        IMethod methodViewDidLayoutSubviews2;
        bool isCallingViewDidLayoutSubviews2= false;
        
            public override void ViewDidLayoutSubviews() 
            { 
                if (methodViewDidLayoutSubviews2 == null && instance!=null )
                {
                    methodViewDidLayoutSubviews2 = instance.Type.GetMethod("ViewDidLayoutSubviews", 0);
                }
                if (methodViewDidLayoutSubviews2 != null && !isCallingViewDidLayoutSubviews2)
                {
                    isCallingViewDidLayoutSubviews2 = true;

                    try{
                        
                        //无参数调用
                        object ret = appDomain.Invoke(methodViewDidLayoutSubviews2, instance, null );
                        
                        
                        
                        isCallingViewDidLayoutSubviews2 = false;

                        
                    }
                    catch(Exception e){
                        mb.App.logger.Log("**** Catch Exception In ViewDidLayoutSubviews *****");
                        mb.App.logger.Log(e.ToString());
                        mb.App.logger.Log("**********************");
                        throw e;
                    }
                }
                else
                {
                    
                    
                        
                            base.ViewDidLayoutSubviews();
                        
                    

                }
            }
        
        
        
        IMethod methodViewDidLoad3;
        bool isCallingViewDidLoad3= false;
        
            public override void ViewDidLoad() 
            { 
                if (methodViewDidLoad3 == null && instance!=null )
                {
                    methodViewDidLoad3 = instance.Type.GetMethod("ViewDidLoad", 0);
                }
                if (methodViewDidLoad3 != null && !isCallingViewDidLoad3)
                {
                    isCallingViewDidLoad3 = true;

                    try{
                        
                        //无参数调用
                        object ret = appDomain.Invoke(methodViewDidLoad3, instance, null );
                        
                        
                        
                        isCallingViewDidLoad3 = false;

                        
                    }
                    catch(Exception e){
                        mb.App.logger.Log("**** Catch Exception In ViewDidLoad *****");
                        mb.App.logger.Log(e.ToString());
                        mb.App.logger.Log("**********************");
                        throw e;
                    }
                }
                else
                {
                    
                    
                        
                            base.ViewDidLoad();
                        
                    

                }
            }
        
        
        
        IMethod methodViewDidUnload4;
        bool isCallingViewDidUnload4= false;
        
            public override void ViewDidUnload() 
            { 
                if (methodViewDidUnload4 == null && instance!=null )
                {
                    methodViewDidUnload4 = instance.Type.GetMethod("ViewDidUnload", 0);
                }
                if (methodViewDidUnload4 != null && !isCallingViewDidUnload4)
                {
                    isCallingViewDidUnload4 = true;

                    try{
                        
                        //无参数调用
                        object ret = appDomain.Invoke(methodViewDidUnload4, instance, null );
                        
                        
                        
                        isCallingViewDidUnload4 = false;

                        
                    }
                    catch(Exception e){
                        mb.App.logger.Log("**** Catch Exception In ViewDidUnload *****");
                        mb.App.logger.Log(e.ToString());
                        mb.App.logger.Log("**********************");
                        throw e;
                    }
                }
                else
                {
                    
                    
                        
                            base.ViewDidUnload();
                        
                    

                }
            }
        
        
        
        IMethod methodViewLayoutMarginsDidChange5;
        bool isCallingViewLayoutMarginsDidChange5= false;
        
            public override void ViewLayoutMarginsDidChange() 
            { 
                if (methodViewLayoutMarginsDidChange5 == null && instance!=null )
                {
                    methodViewLayoutMarginsDidChange5 = instance.Type.GetMethod("ViewLayoutMarginsDidChange", 0);
                }
                if (methodViewLayoutMarginsDidChange5 != null && !isCallingViewLayoutMarginsDidChange5)
                {
                    isCallingViewLayoutMarginsDidChange5 = true;

                    try{
                        
                        //无参数调用
                        object ret = appDomain.Invoke(methodViewLayoutMarginsDidChange5, instance, null );
                        
                        
                        
                        isCallingViewLayoutMarginsDidChange5 = false;

                        
                    }
                    catch(Exception e){
                        mb.App.logger.Log("**** Catch Exception In ViewLayoutMarginsDidChange *****");
                        mb.App.logger.Log(e.ToString());
                        mb.App.logger.Log("**********************");
                        throw e;
                    }
                }
                else
                {
                    
                    
                        
                            base.ViewLayoutMarginsDidChange();
                        
                    

                }
            }
        
        
        
        IMethod methodViewSafeAreaInsetsDidChange6;
        bool isCallingViewSafeAreaInsetsDidChange6= false;
        
            public override void ViewSafeAreaInsetsDidChange() 
            { 
                if (methodViewSafeAreaInsetsDidChange6 == null && instance!=null )
                {
                    methodViewSafeAreaInsetsDidChange6 = instance.Type.GetMethod("ViewSafeAreaInsetsDidChange", 0);
                }
                if (methodViewSafeAreaInsetsDidChange6 != null && !isCallingViewSafeAreaInsetsDidChange6)
                {
                    isCallingViewSafeAreaInsetsDidChange6 = true;

                    try{
                        
                        //无参数调用
                        object ret = appDomain.Invoke(methodViewSafeAreaInsetsDidChange6, instance, null );
                        
                        
                        
                        isCallingViewSafeAreaInsetsDidChange6 = false;

                        
                    }
                    catch(Exception e){
                        mb.App.logger.Log("**** Catch Exception In ViewSafeAreaInsetsDidChange *****");
                        mb.App.logger.Log(e.ToString());
                        mb.App.logger.Log("**********************");
                        throw e;
                    }
                }
                else
                {
                    
                    
                        
                            base.ViewSafeAreaInsetsDidChange();
                        
                    

                }
            }
        
        
        
        IMethod methodViewWillAppear7;
        bool isCallingViewWillAppear7= false;
        
            public override void ViewWillAppear(System.Boolean p0) 
            { 
                if (methodViewWillAppear7 == null && instance!=null )
                {
                    methodViewWillAppear7 = instance.Type.GetMethod("ViewWillAppear", 1);
                }
                if (methodViewWillAppear7 != null && !isCallingViewWillAppear7)
                {
                    isCallingViewWillAppear7 = true;

                    try{
                        
                        //有参数，打包成数组
                        object[] param=new object[]{
                                p0,
                        };
                        object ret = appDomain.Invoke(methodViewWillAppear7, instance, param );
                        
                        
                        isCallingViewWillAppear7 = false;

                        
                    }
                    catch(Exception e){
                        mb.App.logger.Log("**** Catch Exception In ViewWillAppear *****");
                        mb.App.logger.Log(e.ToString());
                        mb.App.logger.Log("**********************");
                        throw e;
                    }
                }
                else
                {
                    
                    
                        
                            base.ViewWillAppear(p0);
                        
                    

                }
            }
        
        
        
        IMethod methodViewWillDisappear8;
        bool isCallingViewWillDisappear8= false;
        
            public override void ViewWillDisappear(System.Boolean p0) 
            { 
                if (methodViewWillDisappear8 == null && instance!=null )
                {
                    methodViewWillDisappear8 = instance.Type.GetMethod("ViewWillDisappear", 1);
                }
                if (methodViewWillDisappear8 != null && !isCallingViewWillDisappear8)
                {
                    isCallingViewWillDisappear8 = true;

                    try{
                        
                        //有参数，打包成数组
                        object[] param=new object[]{
                                p0,
                        };
                        object ret = appDomain.Invoke(methodViewWillDisappear8, instance, param );
                        
                        
                        isCallingViewWillDisappear8 = false;

                        
                    }
                    catch(Exception e){
                        mb.App.logger.Log("**** Catch Exception In ViewWillDisappear *****");
                        mb.App.logger.Log(e.ToString());
                        mb.App.logger.Log("**********************");
                        throw e;
                    }
                }
                else
                {
                    
                    
                        
                            base.ViewWillDisappear(p0);
                        
                    

                }
            }
        
        
        
        IMethod methodViewWillLayoutSubviews9;
        bool isCallingViewWillLayoutSubviews9= false;
        
            public override void ViewWillLayoutSubviews() 
            { 
                if (methodViewWillLayoutSubviews9 == null && instance!=null )
                {
                    methodViewWillLayoutSubviews9 = instance.Type.GetMethod("ViewWillLayoutSubviews", 0);
                }
                if (methodViewWillLayoutSubviews9 != null && !isCallingViewWillLayoutSubviews9)
                {
                    isCallingViewWillLayoutSubviews9 = true;

                    try{
                        
                        //无参数调用
                        object ret = appDomain.Invoke(methodViewWillLayoutSubviews9, instance, null );
                        
                        
                        
                        isCallingViewWillLayoutSubviews9 = false;

                        
                    }
                    catch(Exception e){
                        mb.App.logger.Log("**** Catch Exception In ViewWillLayoutSubviews *****");
                        mb.App.logger.Log(e.ToString());
                        mb.App.logger.Log("**********************");
                        throw e;
                    }
                }
                else
                {
                    
                    
                        
                            base.ViewWillLayoutSubviews();
                        
                    

                }
            }
        
        
        
        IMethod methodViewWillTransitionToSize10;
        bool isCallingViewWillTransitionToSize10= false;
        
            public override void ViewWillTransitionToSize(CoreGraphics.CGSize p0, UIKit.IUIViewControllerTransitionCoordinator p1) 
            { 
                if (methodViewWillTransitionToSize10 == null && instance!=null )
                {
                    methodViewWillTransitionToSize10 = instance.Type.GetMethod("ViewWillTransitionToSize", 2);
                }
                if (methodViewWillTransitionToSize10 != null && !isCallingViewWillTransitionToSize10)
                {
                    isCallingViewWillTransitionToSize10 = true;

                    try{
                        
                        //有参数，打包成数组
                        object[] param=new object[]{
                                p0,
                                p1,
                        };
                        object ret = appDomain.Invoke(methodViewWillTransitionToSize10, instance, param );
                        
                        
                        isCallingViewWillTransitionToSize10 = false;

                        
                    }
                    catch(Exception e){
                        mb.App.logger.Log("**** Catch Exception In ViewWillTransitionToSize *****");
                        mb.App.logger.Log(e.ToString());
                        mb.App.logger.Log("**********************");
                        throw e;
                    }
                }
                else
                {
                    
                    
                        
                            base.ViewWillTransitionToSize(p0, p1);
                        
                    

                }
            }
        
        
        
        IMethod methodViewWillUnload11;
        bool isCallingViewWillUnload11= false;
        
            public override void ViewWillUnload() 
            { 
                if (methodViewWillUnload11 == null && instance!=null )
                {
                    methodViewWillUnload11 = instance.Type.GetMethod("ViewWillUnload", 0);
                }
                if (methodViewWillUnload11 != null && !isCallingViewWillUnload11)
                {
                    isCallingViewWillUnload11 = true;

                    try{
                        
                        //无参数调用
                        object ret = appDomain.Invoke(methodViewWillUnload11, instance, null );
                        
                        
                        
                        isCallingViewWillUnload11 = false;

                        
                    }
                    catch(Exception e){
                        mb.App.logger.Log("**** Catch Exception In ViewWillUnload *****");
                        mb.App.logger.Log(e.ToString());
                        mb.App.logger.Log("**********************");
                        throw e;
                    }
                }
                else
                {
                    
                    
                        
                            base.ViewWillUnload();
                        
                    

                }
            }
        
        
    }
}